home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
comm2
/
zpont311.lha
/
zpoint-3.11
/
Rexx
/
ZP-View.zprx.lha
/
ZP-View.zprx
next >
Wrap
Text File
|
1994-09-01
|
6KB
|
338 lines
/*
$VER: ZP-View.zprx V1.0 (1.9.94)
Dieses Script dient zum externen Anzeigen von Nachrichten aller Art,
es ermittelt den Typ der anzuzeigenden Datei und ruft ein passendes
Anzeige-, Abspiel-, oder Bearbeitungsprogramm auf.
FUNKTIONSBESCHREIBUNG, INSTALLATION:
Eine genauere Beschreibung und Hinweise zur Installation entnehmen
Sie bitte der Datei 'ZP-View.zprx.dok'.
AUTOR DIESES SKRIPTS:
Jürgen Kohrmeyer Tel. : +49 5402 5195
Oststraße 2 EMail: j_kohrmeyer@wilam.north.de
49143 Bissendorf
*/
/*******************************************
** Konfiguration
*******************************************/
/* Name der Datei für Temporäre Daten */
tempdatei = 'T:ZP-View-Daten.temp'
/* Name der Datei für Sounddaten */
/* ACHTUNG: Die Datei wird nicht automatisch gelöscht! */
sounddatei = 'T:ZP-View-Sound.temp'
/* Das hier angegebene 'CON: Fenster' wird für die */
/* Ein/Ausgabe von PGP benutzt. */
window = 'CON:0/300/800/300/PGP/AUTO/CLOSE/SCREEN'||screenname
/*******************************************
** Beginn des Scripts
*******************************************/
OPTIONS RESULTS
PARSE ARG screenname
IF screenname = '' THEN
screenname = 'ZPoint'
ADDRESS VALUE screenname
/* rexxtricks.library öffnen */
IF ~SHOW('LIBRARIES','rexxtricks.library') THEN
IF ~ADDLIB('rexxtricks.library',0,-30,0) THEN DO
REQUESTNOTIFY 'Kann rexxtricks.library nicht öffnen!'
EXIT
END
/* rexxsupport.library öffnen */
IF ~SHOW('LIBRARIES','rexxsupport.library') THEN
IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN DO
REQUESTNOTIFY 'Kann rexxsupport.library nicht öffnen!'
EXIT
END
/* Aktuelle Nachricht auslagern */
dateiname = 'T:ZP-View-Nachricht.temp'
SAVEMESSAGEBODY dateiname
IF (~RC) THEN DO
REQUESTNOTIFY 'Kann Nachricht nicht speichern!'
EXIT
END
/* ARexx-Port auf Shell einstellen */
ADDRESS COMMAND
/* Übergebene Datei verarbeiten */
CALL showfile dateiname
/* Tempdateien löschen, falls vorhanden */
IF EXISTS(dateiname) THEN
'delete' dateiname 'quiet'
IF EXISTS(tempdatei) THEN
'delete' tempdatei 'quiet'
IF EXISTS(tempdatei||'-1') THEN
'delete' tempdatei||'-1' 'quiet'
/* Script beenden */
EXIT(0)
/*******************************************
** Eine Datei anzeigen
*******************************************/
showfile:
PARSE ARG file
/* Dateityp feststellen */
typ = WHATIS(file)
/* Unerlaubte zeichen aus dem Typ-String entfernen */
typ = TRANSLATE(typ,'__',' -')
/* Passende Funktion aufrufen */
INTERPRET 'CALL' typ
RETURN
/*******************************************
** Funktionen für die einzelnen Dateitypen
*******************************************/
Text:
OPTIONS FAILAT 32
/* Nachricht entschlüsseln oder Public-Key bearbeiten */
'pgp' file '-o' tempdatei
IF rc = 31 THEN DO
REQUESTNOTIFY 'Sie besitzen nicht den passenden Key'||'0A'x||'um diese Nachricht zu entschlüsseln!'
RETURN
END
OPTIONS FAILAT 10
/* Die normale oder die entschlüsselte Datei anzeigen */
IF EXISTS(tempdatei) THEN
'multiview' tempdatei 'PUBSCREEN' screenname
ELSE
'multiview' file 'PUBSCREEN' screenname
RETURN
Asm:
Doc:
FTXT:
Guide:
Incld_Asm:
Include_C:
MakeFile:
PS:
ReadMe:
Rexx:
Script:
Source_C:
Src_Ada:
Tex:
'multiview' file 'PUBSCREEN' screenname
RETURN
8SVX:
Wave:
'multiview' file 'PUBSCREEN' screenname
RETURN
BMP:
BMP_1Bit:
BMP_4Bit:
BMP_8Bit:
'multiview' file 'SCREEN'
RETURN
PCX:
'rename' file file||'.PCX'
'multiview' file||'.PCX' 'SCREEN'
'rename' file||'.PCX' file
RETURN
ANIM:
GIF:
ILBM:
ILBM24:
JPEG:
CALL PRAGMA('S',10240)
'VT_EGS >NIL:' file
RETURN
Icon:
Icn_Disk:
Icn_Drw:
Icn_Grbg:
Icn_Pjct:
Icn_Tool:
oldscreen = SETDEFAULTPUBSCREEN(screenname)
oldmodes = SETPUBSCREENMODES('SP')
'rename' file file||'.info'
'viewicon >NIL:' file||'.info'
'rename' file||'.info' file
oldmodes = SETPUBSCREENMODES(oldmodes)
oldscreen = SETDEFAULTPUBSCREEN(oldscreen)
RETURN
Exe:
PP_Exe:
PP30_Exe:
PP40_Exe:
Pure_Exe:
file '>CON:////ZP-View-Console/CLOSE/AUTO/WAIT/SCREEN'||screenname
RETURN
Med_MOD:
PP_MEdMOD:
PP_ST_Mod:
ST_Mod:
'copy' file sounddatei
'player NOREQUEST SCREEN' screenname 'PLAY' sounddatei
RETURN
Imp_Data:
ImpLS:
ImpLS_Lib:
PP_Data:
PP_Doc:
PPLibHead:
PPLoadSeg:
'xfddecrunch' file tempdatei
'copy' tempdatei tempdatei||'-1'
'delete' tempdatei
CALL showfile tempdatei||'-1'
RETURN
TIFF:
TIFF_Gray:
oldscreen = SETDEFAULTPUBSCREEN(screenname)
oldmodes = SETPUBSCREENMODES('SP')
oldstack = PRAGMA('S',10240)
'tiffview' file
oldmodes = SETPUBSCREENMODES(oldmodes)
oldscreen = SETDEFAULTPUBSCREEN(oldscreen)
RETURN
Lib:
'version >'||tempdatei file 'FILE FULL'
'multiview' tempdatei 'PUBSCREEN' screenname
RETURN
GZip:
'gzip >'||tempdatei '-l' file
'multiview' tempdatei 'PUBSCREEN' screenname
RETURN
LHArc:
'lha >'||tempdatei 'v' file
'multiview' tempdatei 'PUBSCREEN' screenname
RETURN
Shrink:
'shrink >'||tempdatei 'va' file
'multiview' tempdatei 'PUBSCREEN' screenname
RETURN
ZIP:
'unzip >'||tempdatei '-v' file
'multiview' tempdatei 'PUBSCREEN' screenname
RETURN
Zoo:
'zoo >'||tempdatei 'v' file
'multiview' tempdatei 'PUBSCREEN' screenname
RETURN
ABasic:
BAD_IFF:
Caligari:
CDAF:
DMS:
EPU_NUKE:
EPU_XPK:
EPUed:
IFF:
GFA:
Imagine:
Manx_DBG:
Manx_DMP:
MaxiPlan:
Mnx3.6Lib:
Mnx3.6Obj:
Mnx5.0Lib:
Mnx5.0Obj:
MEd_Song:
Object:
PPM_V1.8:
PPM_V2.1:
PREFS:
SFX:
SMUS:
STSong:
SUNRASTER:
TARGA:
TERM:
Tex_DVI:
Tex_Font:
Unknown:
Unscanned:
Vista_DEM:
Warp:
Zoom:
ADDRESS VALUE screenname
REQUESTNOTIFY 'Für Dateien des Typs' '"'||typ||'"'||'0A'x||'ist kein Anzeigeprogramm konfiguriert!'
RETURN